//Source file: D:\\LeeXM\\JavaWS\\rumba\\src\\com\\hd123\\rumba\\domain\\biz\\BDomain.java

/**
 * 项目名：	Rumba Plan
 * 
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2006，所有权利保留。
 * 
 * 文件名：	BDomain.java
 * 模块说明：	
 * 修改历史：
 * 2006-6-22 - lxm - 创建。
 */
package com.hd123.rumba.domain.biz;

import java.util.List;

import com.hd123.rumba.cartridge.biz.SCartFunctionView;
import com.hd123.rumba.domain.CDomain;
import com.hd123.rumba.domain.IDomain;
import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.gwt.base.client.exception.ClientBizException;
import com.hd123.rumba.runtime.IPersistent;
import com.hd123.rumba.runtime.biz.BVersionedPersistent;
import com.hd123.rumba.util.HashMap2;

/**
 * 域 | 业务层.维护 | 实体
 * 
 * @author lxm
 */
public class BDomain extends BVersionedPersistent {

  /** 所属域 */
  private SDomain domain = null;

  /** 最后修改人 */
  private String lastModifier = null;

  /** 状态 */
  private Integer state = null;
  public static final HashMap2 STATEMAP = new HashMap2().put2(CDomain.VALUE_STATE_NORMAL,
      CDomain.CAPTION_VALUE_STATE_NORMAL).put2(CDomain.VALUE_STATE_DELETED,
      CDomain.CAPTION_VALUE_STATE_DELETED);

  /** 代码 */
  private String code = null;

  /** 名称 */
  private String name = null;

  /** 备注 */
  private String remark = null;

  /** 层级码 */
  private String levelId = null;

  /** 已装载功能视图列表 */
  private List<SCartFunctionView> funcViews = null;

  /**
   * 克隆一个简单域对象。
   * 
   * @return
   */
  public SDomain cloneSimple() throws BusinessException {
    SDomain sdomain = new SDomain();
    sdomain.setUuid(this.uuid);
    sdomain.setCode(this.code);
    sdomain.setName(this.name);
    return sdomain;
  }

  public void readFrom(IPersistent source) throws BusinessException {
    super.readFrom(source);
    if (source instanceof IDomain) {
      this.domain = this.readObject(((IDomain) source).getDomain(), SDomain.class);
      this.lastModifier = ((IDomain) source).getLastModifier();
      this.code = ((IDomain) source).getCode();
      this.name = ((IDomain) source).getName();
      this.remark = ((IDomain) source).getRemark();
      this.levelId = ((IDomain) source).getLevelId();
    }
  }

  public String getCodeName() {
    return code + "[" + name + "]";
  }

  public String getNameCode() {
    return name + "[" + code + "]";
  }

  public SDomain getDomain() {
    return domain;
  }

  public void setDomain(SDomain domain) {
    this.domain = domain;
  }

  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public List<SCartFunctionView> getFuncViews() {
    return funcViews;
  }

  public void setFuncViews(List<SCartFunctionView> funcViews) {
    this.funcViews = funcViews;
  }

  public String getLastModifier() {
    return lastModifier;
  }

  public void setLastModifier(String lastModifier) {
    this.lastModifier = lastModifier;
  }

  public String getLevelId() {
    return levelId;
  }

  public void setLevelId(String levelId) {
    this.levelId = levelId;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public Integer getState() {
    return state;
  }

  public void setState(Integer state) {
    this.state = state;
  }
}
